home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 653 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  4.4 KB

  1. Path: hearst.acc.Virginia.EDU!adastra!mbs
  2. Newsgroups: comp.sys.amiga.programmer
  3. From: mbs@adastra.cvl.va.us (Michael B. Smith)
  4. Subject: Re: ADE
  5. Distribution: world
  6. References: <4cku60$t4m@globe.indirect.com> <DKuzuJ.49n@cyf-kr.edu.pl> <mbs.46x6@adastra.cvl.va.us> <19960108.44F2A8.1045B@ak220.du.pipex.com>
  7. X-NewsReader: GRn 3.0b24 December 30, 1995
  8. MIME-Version: 1.0
  9. Content-Type: text/plain; charset=iso-8859-1
  10. Content-Transfer-Encoding: 8bit
  11. Message-ID: <mbs.4722@adastra.cvl.va.us>
  12. Date: Tue, 9 Jan 96 22:23:35 EDT
  13. Organization: Only if you insist...
  14.  
  15. In article <19960108.44F2A8.1045B@ak220.du.pipex.com> m.hendry@dial.pipex.com (Mathew Hendry) writes:
  16. > Michael B. Smith (mbs@adastra.cvl.va.us) wrote:
  17. > : Using 'rez' does _not_ require a program to be pure. ANY program
  18. > : can be 'rez'ed.
  19. > :
  20. > : For things like gcc, where -resident hasn't worked since 2.3.3 (or so),
  21. > : it's quite important.
  22. >
  23. > If a command is not pure, it must be reloaded for each invocation. So what is
  24. > the functional difference between this "rez" program and copying the command
  25. > to RAM:? Or isn't there one?
  26.  
  27. The functional difference is that you don't have to fix all the
  28. paths in the calling programs.
  29.  
  30. I've included a part of the doc file below.
  31. --
  32.   //   Michael B. Smith
  33. \X/    mbs@adastra.cvl.va.us
  34.  
  35. The operation of REZ is very simple. A list is maintained in memory of
  36. the names of those programs which are desired to be resident. When any
  37. of the programs are first loaded into memory REZ automatically notices
  38. that the program being loaded is to be resident and does the special
  39. REZ load on it. Anytime after the first time, the resident version of
  40. the program will be used.
  41.  
  42. What this means is that you can tell REZ that you want a whole slew of
  43. programs to be in the resident list, but only those programs that you
  44. actually run will actually get loaded into memory. The first time you
  45. run each one it will load about as fast as it would without REZ, but
  46. every time after it will be almost instantaneous.
  47.  
  48. So, the simplest way to use REZ is to just execute (maybe in your
  49. s:startup-sequence file):
  50.  
  51.     REZ dir ls copy cd cc as ln make z
  52.  
  53. You can specify as many filenames as you want to since REZ maintains
  54. a linked list of the names.
  55.  
  56. You can see the status of the resident name list by typing REZ with no
  57. arguments. This will produce a display that looks like:
  58.  
  59. Name        Active  Status    Total  Pure  Share  Chk
  60. cc           0    Loaded       7   No    Yes     OK
  61. as           0    Loaded      10   No    Yes     OK
  62. ln           0    Loaded       2   No    Yes     OK
  63. z           1    In Use       7   No    Yes     OK
  64. delete           0    Loaded       1   Yes   Yes*   > 0
  65. copy           0    Not Loaded       0   ?     ?          ?
  66. cd           0    Not Loaded       0   ?     ?          ?
  67.  
  68. The first column displays the name of the program. The next two columns are
  69. related. The first shows the number of programs actively sharing the Code
  70. part of this program. The second one shows the status of the program which
  71. is either not loaded, loaded but not executing, or actually in use. The
  72. next column labelled Total shows the number of times this program has been
  73. executed since being made resident.
  74.  
  75. The next column indicates whether a program has any absolute references
  76. to Data from Code. If it does not, then it is considered Pure. This is
  77. important and is reflected in the next column called Share. Each program
  78. must have it's own individual Data area. If the Code contains absolute
  79. references to the Data area, it is not possible to use that Code with
  80. multiple Data areas. There are other restrictions as well, but normally
  81. if a program is Pure, it will also be Shareable.
  82.  
  83. Which brings us to the Share column. If a program is not Pure, then
  84. it can't be shared except for some special cases. REZ automatically
  85. detects these special cases and takes advantage of them and sets a
  86. Yes in this column. More detailed information can be found in the
  87. technical information section.
  88.  
  89. The other requirement for being Shareable is that the Code segment
  90. can not be modified. When a program is made resident, REZ computes
  91. a checksum for each Code segment in the program. When the list of
  92. resident programs is displayed, REZ recomputes the checksum and
  93. normally an OK is displayed.
  94.  
  95. However, if a segment has been modified,  then the number of the segment
  96. will be displayed followin a '>'. In addition, if the program is Shareable,
  97. REZ will automatically disable sharing which is indicated by an asterisk
  98. following the "Yes" in the Share column. (See the "-c" option for automatic
  99. checking.)
  100.